The invention relates to methods of transmitting and receiving compressed television signals. The invention also relates to arrangements for carrying out said methods, more particularly, arrangements such as video-on-demand servers for transmitting, and set top boxes for receiving, MPEG compressed audio and video signals.
The so-called xe2x80x9cTransport streamxe2x80x9d and xe2x80x9cProgram Streamxe2x80x9d as defined within the MPEG-2 standard provide a standardized mechanism for the transmission and storage of MPEG compressed audio and video (A/V) information. Both streams contain time stamps to synchronize the decoding and presentation of the conveyed audio and video information while ensuring that data buffers in the decoders do not overflow or underflow during linear playback. In addition, these time stamps are used for the correct delivery of the streams themselves. The MPEG Transport Stream is tailored to the communication or the storage of one or more programs of digital data in environments in which significant errors may occur. Such environments are for example terrestrial and satellite broadcast channels, cable channels, and other telecommunication networks. The MPEG Program Stream is tailored to communication or storage of one program of digital data in environments where errors are very unlikely, and where software processing of system coding is a major consideration. Such environments are, for example, PCs with optical and magnetic storage media.
In the last few years, significant effort has been devoted to applications that involve the linear playback and transmission of Program and Transport Streams. For example, broadcasting MPEG-2 encoded programs involves the distribution of Transport Streams of infinite length. However, the non-linear playback of MPEG Transport Streams and Program Streams from video servers has not received the same level of attention. Nonlinear playback involves the interruption and continuation of the stream and is necessary for basically all kinds of trick modes. Trick-modes require an accurate control of the stream. For local disc-based systems, solutions are known to support trick-modes such as pause, slow motion, and fast forward. However, the known solutions can not be applied to network environments, because networks differ from local systems in two aspects.
The first aspect is the delay decoder-network-server-network-decoder. This delay, which is further referred to as the network latency, is not constant and can have a magnitude of up to one second. A consequence of the network latency is that after the end-user requests a pause (resulting in a stall of the decoding and display process and sending a pause command to the server), the network will continue to deliver bits to the decoder for some period of time. The subsequent continuation of the stream is also complicated by the network latency. Namely, because of the network latency there is a significant delay between the transmission of the xe2x80x98Resumexe2x80x99 command to the server and the arrival of the requested bits at the decoder. The bits delivered after the pause command and the temporary lack of bits after the resume command have to be handled by the decoder in such a way that the decoder can flawlessly resume its decoding and display process.
The second aspect is the possible presence of MPEG-2 remultiplexers in the network. The presence of remultiplexers complicates the support for trick-modes because remultiplexers allow the packets having different PIDs in a Transport Stream to be reordered. A PID is a Packet IDentifier as defined in the MPEG-2 standard. In practice this means that the packets do not enter the decoder in the same order as they were sent by the server. Note that the presence of remultiplexers does not complicate the trick-mode support for Transport Streams with only one PID, e.g. video, because remultiplexers are not allowed to reorder the packets within one PID.
It is an object of this invention to provide trick-mode support for MPEG-2 Transport Streams and Program Streams in network environments.
To that end, the invention provides a method of transmitting a compressed television signal, characterized by inserting position labels into said signal at positions where the transmission of said signal can be resumed after an interruption.
The invention is based on the strategy that a decoder throws away all bits that are delivered by the network after the xe2x80x98Pausexe2x80x99 command has been issued. For a successful continuation of the stream, the decoder has to know exactly what the position in the stream was (e.g. how many bits have been received from the server) when the pause was effected. This is necessary to instruct the server exactly at which point to continue in order to keep the MPEG-2 data consistent. Otherwise part of an MPEG frame would be duplicated or missing. Normally, the server cannot exactly determine the stream position at the time the pause was effected at the decoder due to the latency in the communication between decoder and server. By transmitting unique position labels in each of the PIDs of the Transport Stream, decoders can precisely determine which bits are stored and which are thrown away. The continuation of the stream involves the request for new bits starting at the appropriate position label.
The invention concentrates on two trick-modes, namely: xe2x80x98pause/continuexe2x80x99 and xe2x80x98slow motionxe2x80x99. The required functionality for xe2x80x98pause and continuexe2x80x99 is that a user can pause the display at any point in time and can continue flawlessly afterward. Preferably, interruption takes effect immediately e.g. at the frame/field which is currently displayed and continuation should occur at the next frame without any missing or duplicated frames. xe2x80x98Pause and continuexe2x80x99 involves the transmission of xe2x80x98Pausexe2x80x99 and xe2x80x98Resumexe2x80x99 commands from the decoder to the server to stop and continue the stream. The required functionality for xe2x80x98slow motionxe2x80x99 is that a user can visualize the stream at a speed lower than the normal playback speed. The decoder should be able to switch between the slow motion mode and normal playback mode. The switch should take effect immediately without any missing or duplicated frames. xe2x80x98Slow motionxe2x80x99 also involves the transmission of xe2x80x98Pausexe2x80x99 and xe2x80x98Resumexe2x80x99 messages from the decoder to the server to stop and start the stream.
Several fields in the MPEG-2 standard can be used to convey the unique position labels. The position labels can be accommodated in a separate stream of intermediate control packets, for example, using the concept of MPEG stream descriptors. The PCR fields of each PID stream in the Transport Stream can be used when the PCR information is transmitted in a separate stream. PCR means Program Clock Reference as defined in the MPEG-2 standard. Accommodating the position labels in a separate stream of control packets works well if there are no remultiplexers in the network, i.e. if packets having different PIDs cannot be reordered.
The position labels can also be accommodated in the signal (audio, video, etc.) packets themselves, for example, in the private data part of adaptation fields of particular packets. This embodiment also works for networks comprising remultiplexers. For all cases, the repetition rate of the position labels should be high enough to allow for a fine control of the stream. The position labels of different PIDs that belong together can be identified by a particular time code.
The corresponding method of receiving a digital television signal is characterized by the steps of: sending a request to the transmitter to interrupt transmission of the signal; interrupting the reproduction of the signal upon detection of a position label accommodated in the received bit stream and throwing away the received signal following said position label; sending a request to the transmitter to resume transmission of the signal from the position defined by said position label; and resuming the reproduction of the signal upon receipt thereof.
The continuation of the stream involves a delay equal to the network latency. The delay can be circumvented by using a latency buffer whose size is equal to the maximum network latency times the bit rate of the stream. This approach works for both xe2x80x98Pause and Continuexe2x80x99 trick modes as well as for the xe2x80x98Slow Motionxe2x80x99 trick mode. With such a latency buffer, the decoder may pause the reproduction of the signal immediately and keep the bits up to a later received position label available in the buffer. Only the bits following said later received position label are now thrown away. Upon the resume command, the reproduction of the still available bits is resumed and the server is requested to resume transmission of the bits following the later received position label.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.